import { observable, action } from 'mobx';
import {WeaTableNew, WeaForm} from 'comsMobx'
const {TableStore} = WeaTableNew;
import {message} from "antd";
/**
 * 信息采编通用store模板，适用于列表+高级搜索查询模式
 */
export class ListStore {
    
    @observable title = "";

    @observable dataKey = "";
    @observable tableStore = new TableStore();

    /** 高级查询store */
    @observable searchForm = new WeaForm();
    @observable showSearchAd = false;   //高级搜索显隐
    searchCondition = [];

    /** 左侧树store */
    @observable leftTree = [];
    @observable leftTreeCount = {};
    @observable leftTreeCountType = [];
    @observable selectedTreeKey = "";

    constructor() {
        this.setTitle = this.setTitle.bind(this);
        this.setShowSearchAd = this.setShowSearchAd.bind(this);
        this.setFormFields = this.setFormFields.bind(this);
        this.appendFormFields = this.appendFormFields.bind(this);
        this.clearFormFields = this.clearFormFields.bind(this);
        this.resetForm = this.resetForm.bind(this);
        this.resetTable = this.resetTable.bind(this);

    }
    //刷新列表
    @action
    reLoad = () => {
        this.tableStore.getDatas(this.tableStore.dataKey, this.tableStore.current, this.tableStore.pageSize, this.tableStore.sortParams)
    }

    setTitle(title) {
        this.title = title;
    }

    setShowSearchAd(bool) {
        this.showSearchAd = bool;
    }

    setFormFields(value) {
        this.searchForm.updateFields(value, true);    //true代表完全覆盖方式更新条件值
    }

    appendFormFields(value) {
        this.searchForm.updateFields(value, false);
    }

    clearFormFields() {
        this.searchForm.resetConditionValue();      //清除查询条件值
    }

    resetForm() {
        this.searchForm = new WeaForm();
    }

    resetTable() {
        this.dataKey = "";
        this.tableStore = new TableStore();
    }

}